/***************************************************************************
 * File name: IEPubMedia.h
 * Original author: caizhifei2003@163.com
 * Date: 2013.03.01
 ***************************************************************************/
#ifndef _I_EPUB_MEDIA_H_
#define _I_EPUB_MEDIA_H_

#include "EPubBase.h"
#include "EPubDefinitions.h"
#include "EPubPointer.h"
#include "IEPubBuffer.h"
#include "IEPubEncryption.h"
#include "IEPubDecryption.h"

class IEPubMedia : public EPubBase
{
public:
	virtual EPUB_MediaFileType GetMediaFileType() const = 0;
	virtual const char *GetHref() const = 0;
	virtual void SetHref(const char *href) = 0;
	virtual EPubPointer<IEPubBuffer> Serialize(EPubPointer<IEPubEncryption> encryption = NULL) const = 0;
	virtual EPUB_Result Deserialize(const EPubPointer<IEPubBuffer> buffer, EPubPointer<IEPubDecryption> decryption = NULL) = 0;
};

#endif // _I_EPUB_MEDIA_H_